/**
 * <p>Copyright:Copyright(c) 2019</p>
 * <p>Company:Professional</p>
 * <p>Package:com.cesgroup.zw.spring.boot.echarts.component.croods</p>
 * <p>File:Geo.java</p>
 * <p>类更新历史信息</p>
 * @todo chanlong(陈龙) 创建于 May 13, 2019 5:03:33 PM
 */
package com.cesgroup.zw.spring.boot.echarts.component.croods;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.cesgroup.zw.spring.boot.echarts.BasicComponent;
import com.cesgroup.zw.spring.boot.echarts.model.series.Emphasis;
import com.cesgroup.zw.spring.boot.echarts.model.style.ItemStyle;
import com.cesgroup.zw.spring.boot.echarts.model.style.LabelStyle;
import com.cesgroup.zw.spring.boot.echarts.model.style.RegionStyle;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>描述: </p>
 * <p>Company: Professional</p>
 * @author chanlong(陈龙)
 * @date May 13, 2019 5:03:33 PM
 * @version 1.0.2019
 */
@Data @SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
public class Geo extends BasicComponent {

	/** 是否显示组件，[default: true] */
	private Boolean show;
	
	/** 地图类型，[default: ''] */
	private String map;
	
	/** 是否开启鼠标缩放和平移漫游，[default: false]。如果只想要开启缩放或者平移，可以设置成 'scale' 或者 'move' */
	private Object roam;
	
	/** 当前视角的中心点，用经纬度表示 */
	private BigDecimal[] center;
	
	/** 这个参数用于缩放地图的长宽比，[default: 0.75] */
	private BigDecimal aspectScale;
	
	/** 二维数组，定义定位的左上角以及右下角分别所对应的经纬度，[default: null] */
	private BigDecimal[][] boundingCoords;
	
	/** 当前视角的缩放比例，[default: 1] */
	private BigDecimal zoom;

	/** 滚轮缩放的极限控制，通过min, max最小和最大的缩放值，默认的缩放为1 */
	private Map<String, BigDecimal> scaleLimit;
	
	/** 自定义地区的名称映射 */
	private Map<String, String> nameMap;
	
	/** 选中模式，表示是否支持多个选中，[default: false] */
	private Boolean selectedMode;
	
	/** 图形上的文本标签，可用于说明图形的一些数据信息 */
	private LabelStyle label;
	
	/** 地图区域的多边形 图形样式 */
	private ItemStyle itemStyle;
	
	/** 高亮状态下的多边形和标签样式 */
	private Emphasis emphasis;
	
	/** 组件离容器上侧的距离，[default: 'auto'] */
	private Object top;
	
	/** 组件离容器左侧的距离，[default: 'auto'] */
	private Object left;
	
	/** 组件离容器右侧的距离，[default: 'auto'] */
	private Object right;
	
	/** 组件离容器下侧的距离，[default: 'auto'] */
	private Object bottom;
	
	/** layoutCenter 和 layoutSize 提供了除了 left/right/top/bottom/width/height 之外的布局手段 */
	private Object layoutCenter;
	
	/** 地图的大小 */
	private Object layoutSize;
	
	/** 在地图中对特定的区域配置样式 */
	private List<RegionStyle> regions;
	
	/** 图形是否不响应和触发鼠标事件， [default: false] */
	private Boolean silent;
}
